/********************************
功  能：独立按键之按键控制流水灯
编程人：ZZT
版  本：V1.0
时  间：2023/12/22
**********************************/
//头文件声明
#include <Reg51.h>
#include <intrins.h>
#include "Key.h"
#include "delay.h"

//标志位、变量声明
bit Startflag = 0;		//0 停止 1 启动
bit Rightleftflag = 0;	//0 灯从P0往P7这个方向移动 1灯从P7往P0这个方向移动
unsigned char temp = 0xFE;

//函数声明
void Key_Service();

/**********************************
函数名：mian
功  能：主函数
参  数：无
返回值：无
***********************************/
void main()
{
	while(1)
	{
		Key_Service();
	}
}

/**********************************
函数名：Key_Service
功  能：独立按键控制流水灯启动停止和正向反向
参  数：无
返回值：无
***********************************/
void Key_Service()
{
	switch(Key_Scan())
	{
		case 1:Startflag = 1;break;		//启动
		case 2:Startflag = 0;break;		//停止
		case 3:Rightleftflag = 0;break;	//Right
		case 4:Rightleftflag = 1;break;	//left
		default:break;
	}
	if (Startflag)
	{
		P2 = temp;
		if(Rightleftflag)
		{
			temp = _cror_(temp, 1);
		}
		else
		{
			temp = _crol_(temp,1);
		}
		DelayXms(500);
	}
		
}